<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>合同管理系统功能及API设计</title>
<!-- 2016-10-26 周三 09:17 -->
<meta  http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta  name="generator" content="Org-mode" />
<style type="text/css">
 <!--/*--><![CDATA[/*><!--*/
  .title  { text-align: center; }
  .todo   { font-family: monospace; color: red; }
  .done   { color: green; }
  .tag    { background-color: #eee; font-family: monospace;
            padding: 2px; font-size: 80%; font-weight: normal; }
  .timestamp { color: #bebebe; }
  .timestamp-kwd { color: #5f9ea0; }
  .right  { margin-left: auto; margin-right: 0px;  text-align: right; }
  .left   { margin-left: 0px;  margin-right: auto; text-align: left; }
  .center { margin-left: auto; margin-right: auto; text-align: center; }
  .underline { text-decoration: underline; }
  #postamble p, #preamble p { font-size: 90%; margin: .2em; }
  p.verse { margin-left: 3%; }
  pre {
    border: 1px solid #ccc;
    box-shadow: 3px 3px 3px #eee;
    padding: 8pt;
    font-family: monospace;
    overflow: auto;
    margin: 1.2em;
  }
  pre.src {
    position: relative;
    overflow: visible;
    padding-top: 1.2em;
  }
  pre.src:before {
    display: none;
    position: absolute;
    background-color: white;
    top: -10px;
    right: 10px;
    padding: 3px;
    border: 1px solid black;
  }
  pre.src:hover:before { display: inline;}
  pre.src-sh:before    { content: 'sh'; }
  pre.src-bash:before  { content: 'sh'; }
  pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
  pre.src-R:before     { content: 'R'; }
  pre.src-perl:before  { content: 'Perl'; }
  pre.src-java:before  { content: 'Java'; }
  pre.src-sql:before   { content: 'SQL'; }

  table { border-collapse:collapse; }
  caption.t-above { caption-side: top; }
  caption.t-bottom { caption-side: bottom; }
  td, th { vertical-align:top;  }
  th.right  { text-align: center;  }
  th.left   { text-align: center;   }
  th.center { text-align: center; }
  td.right  { text-align: right;  }
  td.left   { text-align: left;   }
  td.center { text-align: center; }
  dt { font-weight: bold; }
  .footpara:nth-child(2) { display: inline; }
  .footpara { display: block; }
  .footdef  { margin-bottom: 1em; }
  .figure { padding: 1em; }
  .figure p { text-align: center; }
  .inlinetask {
    padding: 10px;
    border: 2px solid gray;
    margin: 10px;
    background: #ffffcc;
  }
  #org-div-home-and-up
   { text-align: right; font-size: 70%; white-space: nowrap; }
  textarea { overflow-x: auto; }
  .linenr { font-size: smaller }
  .code-highlighted { background-color: #ffff00; }
  .org-info-js_info-navigation { border-style: none; }
  #org-info-js_console-label
    { font-size: 10px; font-weight: bold; white-space: nowrap; }
  .org-info-js_search-highlight
    { background-color: #ffff00; color: #000000; font-weight: bold; }
  /*]]>*/-->
</style>
<script type="text/javascript">
/*
@licstart  The following is the entire license notice for the
JavaScript code in this tag.

Copyright (C) 2012-2013 Free Software Foundation, Inc.

The JavaScript code in this tag is free software: you can
redistribute it and/or modify it under the terms of the GNU
General Public License (GNU GPL) as published by the Free Software
Foundation, either version 3 of the License, or (at your option)
any later version.  The code is distributed WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE.  See the GNU GPL for more details.

As additional permission under GNU GPL version 3 section 7, you
may distribute non-source (e.g., minimized or compacted) forms of
that code without the copy of the GNU GPL normally required by
section 4, provided you include this license notice and a URL
through which recipients can access the Corresponding Source.


@licend  The above is the entire license notice
for the JavaScript code in this tag.
*/
<!--/*--><![CDATA[/*><!--*/
 function CodeHighlightOn(elem, id)
 {
   var target = document.getElementById(id);
   if(null != target) {
     elem.cacheClassElem = elem.className;
     elem.cacheClassTarget = target.className;
     target.className = "code-highlighted";
     elem.className   = "code-highlighted";
   }
 }
 function CodeHighlightOff(elem, id)
 {
   var target = document.getElementById(id);
   if(elem.cacheClassElem)
     elem.className = elem.cacheClassElem;
   if(elem.cacheClassTarget)
     target.className = elem.cacheClassTarget;
 }
/*]]>*///-->
</script>
</head>
<body>
<div id="content">
<h1 class="title">合同管理系统功能及API设计</h1>
<div id="table-of-contents">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#sec-1">1. 前台用户</a>
<ul>
<li><a href="#sec-1-1">1.1. 普通用户</a></li>
<li><a href="#sec-1-2">1.2. 部门经理</a></li>
<li><a href="#sec-1-3">1.3. 公司总经理</a></li>
<li><a href="#sec-1-4">1.4. 前台API设计</a>
<ul>
<li><a href="#sec-1-4-1">1.4.1. Session</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#sec-2">2. 系统管理员</a>
<ul>
<li><a href="#sec-2-1">2.1. 管理员</a>
<ul>
<li><a href="#sec-2-1-1">2.1.1. 合同管理</a></li>
<li><a href="#sec-2-1-2">2.1.2. 用户管理</a></li>
<li><a href="#sec-2-1-3">2.1.3. 日志管理</a></li>
<li><a href="#sec-2-1-4">2.1.4. 个人管理</a></li>
</ul>
</li>
<li><a href="#sec-2-2">2.2. 管理员API设计</a></li>
</ul>
</li>
<li><a href="#sec-3">3. 权限</a>
<ul>
<li><a href="#sec-3-1">3.1. 页面权限</a>
<ul>
<li><a href="#sec-3-1-1">3.1.1. 普通用户</a></li>
<li><a href="#sec-3-1-2">3.1.2. 管理员</a></li>
</ul>
</li>
<li><a href="#sec-3-2">3.2. Action权限</a>
<ul>
<li><a href="#sec-3-2-1">3.2.1. 普通用户</a></li>
<li><a href="#sec-3-2-2">3.2.2. 管理员</a></li>
<li><a href="#sec-3-2-3">3.2.3. Session</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<div id="outline-container-sec-1" class="outline-2">
<h2 id="sec-1"><span class="section-number-2">1</span> 前台用户</h2>
<div class="outline-text-2" id="text-1">
</div><div id="outline-container-sec-1-1" class="outline-3">
<h3 id="sec-1-1"><span class="section-number-3">1.1</span> 普通用户</h3>
<div class="outline-text-3" id="text-1-1">
<ol class="org-ol">
<li>添加合同（呈批件，审批表，合同），如果是合同，需要添加分期
</li>
<li>批量导入合同（呈批件，审批表，合同）
</li>
<li>查找合同（呈批件，审批表，合同），
查找条件：合同编号，合同名称，合同类别，合同创建时间，合同更新时间，是否提醒（呈批件，审批表，合同）
</li>
<li>查看合同详情
</li>
<li>查看合同分期
</li>
<li>修改合同（呈批件，审批表，合同）
根据合同ID修改
修改的值：合同类别，开始时间，结束时间，提醒时间，是否提醒（后边四个根据合同类别不同而不同）
</li>
<li>查看个人信息
</li>
<li>修改登录密码
</li>
</ol>
</div>
</div>

<div id="outline-container-sec-1-2" class="outline-3">
<h3 id="sec-1-2"><span class="section-number-3">1.2</span> 部门经理</h3>
<div class="outline-text-3" id="text-1-2">
<ol class="org-ol">
<li>添加合同（呈批件，审批表，合同），如果是合同，需要添加分期
</li>
<li>批量导入合同（呈批件，审批表，合同）
</li>
<li>查找合同（呈批件，审批表，合同）
查找条件：合同编号，合同名称，合同类别，合同创建时间，合同更新时间，是否提醒（呈批件，审批表，合同）
</li>
<li>查看合同详情
</li>
<li>查看合同分期
</li>
<li>修改合同（呈批件，审批表，合同）
根据合同ID修改
修改的值：合同类别，开始时间，结束时间，提醒时间，是否提醒（后边四个根据合同类别不同而不同）
</li>
<li>查看个人信息
</li>
<li>修改登录密码
</li>
<li>查找本部门合同
查找条件：合同提交人名称（员工编号），合同编号，合同名称，合同类别，合同创建时间，合同更新时间，是否提醒（呈批件，审批表，合同）
</li>
</ol>
</div>
</div>

<div id="outline-container-sec-1-3" class="outline-3">
<h3 id="sec-1-3"><span class="section-number-3">1.3</span> 公司总经理</h3>
<div class="outline-text-3" id="text-1-3">
<ol class="org-ol">
<li>添加合同（呈批件，审批表，合同），如果是合同，需要添加分期
</li>
<li>批量导入合同（呈批件，审批表，合同）
</li>
<li>查找合同（呈批件，审批表，合同）
查找条件：合同编号，合同名称，合同类别，合同创建时间，合同更新时间，是否提醒（呈批件，审批表，合同）
</li>
<li>查看合同详情
</li>
<li>查看合同分期
</li>
<li>修改合同（呈批件，审批表，合同）
根据合同ID修改
修改的值：合同类别，开始时间，结束时间，提醒时间，是否提醒（后边四个根据合同类别不同而不同）
</li>
<li>查看个人信息
</li>
<li>修改登录密码
</li>
<li>查找公司合同
查找条件：部门名称，合同提交人名称（员工编号），合同编号，合同名称，合同类别，合同创建时间，合同更新时间，是否提醒（呈批件，审批表，合同）
</li>
</ol>
</div>
</div>

<div id="outline-container-sec-1-4" class="outline-3">
<h3 id="sec-1-4"><span class="section-number-3">1.4</span> 前台API设计</h3>
<div class="outline-text-3" id="text-1-4">
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">


<colgroup>
<col  class="left" />

<col  class="left" />

<col  class="left" />

<col  class="left" />

<col  class="left" />

<col  class="left" />
</colgroup>
<thead>
<tr>
<th scope="col" class="left">功能</th>
<th scope="col" class="left">URL</th>
<th scope="col" class="left">请求方法</th>
<th scope="col" class="left">参数值</th>
<th scope="col" class="left">返回值</th>
<th scope="col" class="left">备注</th>
</tr>
</thead>
<tbody>
<tr>
<td class="left">登录</td>
<td class="left">/user/login</td>
<td class="left">post</td>
<td class="left">{userName,userPass}</td>
<td class="left">{status:ok,des:登录成功}</td>
<td class="left">前台验证输入</td>
</tr>

<tr>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">{status:error,des:登录失败或其他}</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">登出</td>
<td class="left">/user/logout</td>
<td class="left">get</td>
<td class="left">{}</td>
<td class="left">{status:ok,des:已登出}</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">{status:error,des:登出失败}</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">添加合同</td>
<td class="left">/user/addContract</td>
<td class="left">post</td>
<td class="left">{contractSerial,contractName,userId,deptId,</td>
<td class="left">{status:ok,des:添加合同成功}</td>
<td class="left">前台校验输入</td>
</tr>

<tr>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">contractCate,srStartTime,srEndTime,srRemindTime,</td>
<td class="left">{status:error,des:添加合同失败或其他}</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">srIsWarn,eaStartTime,eaEndTime,eaRemindTime,eaIsWarn,</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">ctStartTime,ctEndTime,ctRemindTime,ctIsWarn,ctPeriodNum}</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">添加分期</td>
<td class="left">/user/addPeriod</td>
<td class="left">post</td>
<td class="left">{contractId,periodRemindTime,periodPaidTime,</td>
<td class="left">{status:ok,des:添加分期成功}</td>
<td class="left">前台校验输入</td>
</tr>

<tr>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">periodIsWarn,periodMoney}</td>
<td class="left">{status:error,des:添加分期失败或其他}</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">查看合同详情</td>
<td class="left">/user/getContractByID</td>
<td class="left">get</td>
<td class="left">{contractId}</td>
<td class="left">{status:ok,des:成功，data:ContracEntity}</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">{status:error,des:相关信息}</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">查看合同分期</td>
<td class="left">/user/getPeriodByCID</td>
<td class="left">get</td>
<td class="left">{contractId}</td>
<td class="left">{status:ok,des:成功，data:PeriodEntity[]}</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">{status:error,des:相关信息}</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">批量导入合同</td>
<td class="left">/user/addContractByExcel</td>
<td class="left">post</td>
<td class="left">{file: Contract.xls}</td>
<td class="left">{status:ok,des:批量导入成功}</td>
<td class="left">前台校验文件</td>
</tr>

<tr>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">{status:error,des:批量导入失败或其他}</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">查找合同</td>
<td class="left">/user/findContract</td>
<td class="left">post</td>
<td class="left">{deptId,userId,contractSerial,contractName,contractCate}</td>
<td class="left">{status:ok,des:成功，data:ContractCustomEntity[]}</td>
<td class="left">前台校验输入</td>
</tr>

<tr>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">{status:error,des:相关信息}</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">修改合同</td>
<td class="left">/user/updateContract</td>
<td class="left">post</td>
<td class="left">{contractId,contractCate,srStartTime,srEndTime,srRemindTime,</td>
<td class="left">{status:ok,des:成功}</td>
<td class="left">前台校验输入</td>
</tr>

<tr>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">srIsWarn,eaStartTime,eaEndTime,eaRemindTime,eaIsWarn,</td>
<td class="left">{status:error,des:相关信息}</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">ctStartTime,ctEndTime,ctRemindTime,ctIsWarn,ctPeriodNum}</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">查看个人信息</td>
<td class="left">/user/getSelfInfo</td>
<td class="left">get</td>
<td class="left">{userId}</td>
<td class="left">{status:ok,des:成功,data:UserEntity}</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">{status:error,des:相关信息}</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">修改登录密码</td>
<td class="left">/user/UpdatePass</td>
<td class="left">post</td>
<td class="left">{userId,oldPassword,newPassword}</td>
<td class="left">{status:ok,des:修改成功}</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">{status:error,des:修改失败}</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">下载文件</td>
<td class="left">/file/download</td>
<td class="left">get</td>
<td class="left">{fileName}</td>
<td class="left">返回相应文件</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
</tr>
</tbody>
</table>
</div>
<div id="outline-container-sec-1-4-1" class="outline-4">
<h4 id="sec-1-4-1"><span class="section-number-4">1.4.1</span> Session</h4>
<div class="outline-text-4" id="text-1-4-1">
<p>
用户ID，用户名称，用户部门ID，用户权限，DepartmentEntity
</p>
</div>
</div>
</div>
</div>
<div id="outline-container-sec-2" class="outline-2">
<h2 id="sec-2"><span class="section-number-2">2</span> 系统管理员</h2>
<div class="outline-text-2" id="text-2">
</div><div id="outline-container-sec-2-1" class="outline-3">
<h3 id="sec-2-1"><span class="section-number-3">2.1</span> 管理员</h3>
<div class="outline-text-3" id="text-2-1">
</div><div id="outline-container-sec-2-1-1" class="outline-4">
<h4 id="sec-2-1-1"><span class="section-number-4">2.1.1</span> 合同管理</h4>
<div class="outline-text-4" id="text-2-1-1">
<ol class="org-ol">
<li>添加合同（呈批件，审批表，合同）
</li>
<li>批量导入合同（呈批件，审批表，合同）
</li>
<li>查找合同（呈批件，审批表，合同）
查找条件：部门名称，合同提交人名称（员工编号），合同编号，合同名称，合同类别，合同创建时间，合同更新时间，是否提醒（呈批件，审批表，合同）
</li>
<li>修改合同（呈批件，审批表，合同）
根据合同ID修改
修改的值：合同编号，合同名称，合同类别，开始时间，结束时间，提醒时间，是否提醒（后边四个根据合同类别不同而不同）
</li>
<li>删除合同
根据合同ID删除（禁用合同）
</li>
</ol>
</div>
</div>
<div id="outline-container-sec-2-1-2" class="outline-4">
<h4 id="sec-2-1-2"><span class="section-number-4">2.1.2</span> 用户管理</h4>
<div class="outline-text-4" id="text-2-1-2">
<ol class="org-ol">
<li>批量导入用户
</li>
<li>查找用户
查找条件：用户编号，用户部门，用户姓名，用户权限
</li>
<li>查看用户信息
</li>
<li>修改用户信息
修改的值：用户部门，用户OA邮箱，用户普通邮箱，用户姓名，用户手机，用户权限
</li>
<li>重置用户密码
无需旧密码
</li>
<li>删除用户
</li>
</ol>
</div>
</div>
<div id="outline-container-sec-2-1-3" class="outline-4">
<h4 id="sec-2-1-3"><span class="section-number-4">2.1.3</span> 日志管理</h4>
<div class="outline-text-4" id="text-2-1-3">
<ol class="org-ol">
<li>查找日志
查找条件：用户名，用户IP，用户角色，操作内容，操作时间
</li>
<li>删除日志
</li>
</ol>
</div>
</div>
<div id="outline-container-sec-2-1-4" class="outline-4">
<h4 id="sec-2-1-4"><span class="section-number-4">2.1.4</span> 个人管理</h4>
<div class="outline-text-4" id="text-2-1-4">
<ol class="org-ol">
<li>查看个人信息
</li>
<li>修改登录密码
</li>
<li>新建其他管理员
</li>
</ol>
</div>
</div>
</div>
<div id="outline-container-sec-2-2" class="outline-3">
<h3 id="sec-2-2"><span class="section-number-3">2.2</span> 管理员API设计</h3>
<div class="outline-text-3" id="text-2-2">
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">


<colgroup>
<col  class="left" />

<col  class="left" />

<col  class="left" />

<col  class="left" />

<col  class="left" />

<col  class="left" />
</colgroup>
<thead>
<tr>
<th scope="col" class="left">功能</th>
<th scope="col" class="left">URL</th>
<th scope="col" class="left">请求方法</th>
<th scope="col" class="left">参数值</th>
<th scope="col" class="left">返回值</th>
<th scope="col" class="left">备注</th>
</tr>
</thead>
<tbody>
<tr>
<td class="left">登录</td>
<td class="left">/user/login</td>
<td class="left">post</td>
<td class="left">{userName,userPass}</td>
<td class="left">{status:ok,des:登录成功}</td>
<td class="left">前台验证输入</td>
</tr>

<tr>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">{status:error,des:登录失败或其他}</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">登出</td>
<td class="left">/user/logout</td>
<td class="left">get</td>
<td class="left">{}</td>
<td class="left">{status:ok,des:已登出}</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">{status:error,des:登出失败}</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">添加合同</td>
<td class="left">/admin/addContract</td>
<td class="left">post</td>
<td class="left">{contractSerial,contractName,userId,deptId,</td>
<td class="left">{status:ok,des:添加合同成功}</td>
<td class="left">前台校验输入</td>
</tr>

<tr>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">contractCate,srStartTime,srEndTime,srRemindTime,</td>
<td class="left">{status:error,des:添加合同失败或其他}</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">srIsWarn,eaStartTime,eaEndTime,eaRemindTime,eaIsWarn,</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">ctStartTime,ctEndTime,ctRemindTime,ctIsWarn,ctPeriodNum}</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">添加分期</td>
<td class="left">/admin/addPeriod</td>
<td class="left">post</td>
<td class="left">{contractId,periodRemindTime,periodPaidTime,</td>
<td class="left">{status:ok,des:添加分期成功}</td>
<td class="left">前台校验输入</td>
</tr>

<tr>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">periodIsWarn,periodMoney}</td>
<td class="left">{status:error,des:添加分期失败或其他}</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">查看合同详情</td>
<td class="left">/admin/getContractByID</td>
<td class="left">get</td>
<td class="left">{contractId}</td>
<td class="left">{status:ok,des:成功，data:ContracEntity}</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">{status:error,des:相关信息}</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">查看合同分期</td>
<td class="left">/admin/getPeriodByCID</td>
<td class="left">get</td>
<td class="left">{contractId}</td>
<td class="left">{status:ok,des:成功，data:PeriodEntity}</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">{status:error,des:相关信息}</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">批量导入合同</td>
<td class="left">/admin/addContractByExcel</td>
<td class="left">post</td>
<td class="left">{file: Contract.xls}</td>
<td class="left">{status:ok,des:批量导入成功}</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">{status:error,des:批量导入失败或其他}</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">查找合同</td>
<td class="left">/admin/findContract</td>
<td class="left">post</td>
<td class="left">{deptId,userId,contractSerial,contractName,contractCate}</td>
<td class="left">{status:ok,des:成功，data:ContractCustomEntity[]}</td>
<td class="left">前台校验输入</td>
</tr>

<tr>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">{status:error,des:相关信息}</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">修改合同</td>
<td class="left">/admin/updateContract</td>
<td class="left">post</td>
<td class="left">{contractId,contractSerial,contractName,contractCate,</td>
<td class="left">{status:ok,des:成功}</td>
<td class="left">前台校验输入</td>
</tr>

<tr>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">srStartTime,srEndTime,srRemindTime,srIsWarn,</td>
<td class="left">{status:error,des:相关信息}</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">eaStartTime,eaEndTime,eaRemindTime,eaIsWarn,</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">ctStartTime,ctEndTime,ctRemindTime,ctIsWarn,ctPeriodNum}</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">删除合同</td>
<td class="left">/admin/deleteContract</td>
<td class="left">get</td>
<td class="left">{contractId}</td>
<td class="left">{status:ok,des:删除成功}</td>
<td class="left">级联删除</td>
</tr>

<tr>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">{status,error,des:删除失败}</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">添加用户</td>
<td class="left">/admin/addUser</td>
<td class="left">post</td>
<td class="left">{userName,userPass,userOaEmail,userOrdinaryEmail,</td>
<td class="left">{status:ok,des:添加成功}</td>
<td class="left">前台校验输入</td>
</tr>

<tr>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">deptId,userFallName,userPhone,userRight}</td>
<td class="left">{status:error,des:添加失败}</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">批量导入用户</td>
<td class="left">/admin/addUserByExcel</td>
<td class="left">post</td>
<td class="left">{file: user.xls}</td>
<td class="left">{status:ok,des:批量导入成功}</td>
<td class="left">前台校验输入</td>
</tr>

<tr>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">{status:error,des:相关信息}</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">查找用户</td>
<td class="left">/admin/findUser</td>
<td class="left">post</td>
<td class="left">{userName,deptId,userFallName,userRight}</td>
<td class="left">{status:ok,des:成功,data:UserEntity[]}</td>
<td class="left">前台校验输入</td>
</tr>

<tr>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">{status:error,des:失败}</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">查看用户详情</td>
<td class="left">/admin/getUserInfo</td>
<td class="left">get</td>
<td class="left">{userId}</td>
<td class="left">{status:ok,des:成功,data:UserEntity[]}</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">{status:error,des:失败}</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">修改用户信息</td>
<td class="left">/admin/updateUserInfo</td>
<td class="left">post</td>
<td class="left">{deptId,userOaEmail,userOrdinaryEmail,userPhone,userRight}</td>
<td class="left">{status:ok,des:修改成功}</td>
<td class="left">前台校验输入</td>
</tr>

<tr>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">{status:error,des:相关信息}</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">重置用户密码</td>
<td class="left">/admin/resetUserPass</td>
<td class="left">post</td>
<td class="left">{userId,newPass}</td>
<td class="left">{status:ok,des:修改成功}</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">{status:error,des:修改失败}</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">删除用户</td>
<td class="left">/admin/deleteUser</td>
<td class="left">post</td>
<td class="left">{userId}</td>
<td class="left">{status:ok,des:删除成功}</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">{status:error,des:删除失败}</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">查找日志</td>
<td class="left">/admin/findLog</td>
<td class="left">post</td>
<td class="left">{userId,userIPforLog,logOperRole,logOper,logCTime}</td>
<td class="left">{status:ok,des:成功,data:LogsCustomEntity}</td>
<td class="left">前台校验</td>
</tr>

<tr>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">{status:error,des:失败}</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">删除日志</td>
<td class="left">/admin/deleteLog</td>
<td class="left">get</td>
<td class="left">{logId}</td>
<td class="left">{status:ok,des:成功}</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">{status:error,des:失败}</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">新增管理员</td>
<td class="left">/admin/addAdmin</td>
<td class="left">post</td>
<td class="left">{adminName,adminPass}</td>
<td class="left">{status:ok,des:新增成功}</td>
<td class="left">前台校验</td>
</tr>

<tr>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">{status:error,des,新增失败}</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">查看个人信息</td>
<td class="left">/admin/getSelfInfo</td>
<td class="left">get</td>
<td class="left">{adminId}</td>
<td class="left">{status:ok,des:成功,data:UserEntity}</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">{status:error,des:相关信息}</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">修改登录密码</td>
<td class="left">/admin/UpdatePass</td>
<td class="left">post</td>
<td class="left">{adminId,oldPassword,newPassword}</td>
<td class="left">{status:ok,des:修改成功}</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">{status:error,des:修改失败}</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">下载文件</td>
<td class="left">/file/download</td>
<td class="left">get</td>
<td class="left">{fileName}</td>
<td class="left">返回相应文件</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div id="outline-container-sec-3" class="outline-2">
<h2 id="sec-3"><span class="section-number-2">3</span> 权限</h2>
<div class="outline-text-2" id="text-3">
</div><div id="outline-container-sec-3-1" class="outline-3">
<h3 id="sec-3-1"><span class="section-number-3">3.1</span> 页面权限</h3>
<div class="outline-text-3" id="text-3-1">
</div><div id="outline-container-sec-3-1-1" class="outline-4">
<h4 id="sec-3-1-1"><span class="section-number-4">3.1.1</span> 普通用户</h4>
<div class="outline-text-4" id="text-3-1-1">
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">


<colgroup>
<col  class="left" />

<col  class="left" />

<col  class="left" />
</colgroup>
<tbody>
<tr>
<td class="left">路径</td>
<td class="left">权限</td>
<td class="left">不符合条件</td>
</tr>

<tr>
<td class="left">/user/UserContract.jsp</td>
<td class="left">登录后访问</td>
<td class="left">login.jsp</td>
</tr>

<tr>
<td class="left">/user/UserSelf.jsp</td>
<td class="left">登录后访问</td>
<td class="left">login.jsp</td>
</tr>

<tr>
<td class="left">/user/DeptContract.jsp</td>
<td class="left">登录后访问、权限要求总经理、部门经理</td>
<td class="left">/user/UserSelf.jsp</td>
</tr>

<tr>
<td class="left">/user/ContractByDept.jsp</td>
<td class="left">不能直接访问</td>
<td class="left">/user/DeptContract.jsp</td>
</tr>

<tr>
<td class="left">/user/Contract.jsp</td>
<td class="left">不能直接访问</td>
<td class="left">/user/UserContract.jsp</td>
</tr>

<tr>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
<td class="left">&#xa0;</td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="outline-container-sec-3-1-2" class="outline-4">
<h4 id="sec-3-1-2"><span class="section-number-4">3.1.2</span> 管理员</h4>
<div class="outline-text-4" id="text-3-1-2">
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">


<colgroup>
<col  class="left" />

<col  class="left" />

<col  class="left" />
</colgroup>
<tbody>
<tr>
<td class="left">路径</td>
<td class="left">权限</td>
<td class="left">不符合条件</td>
</tr>

<tr>
<td class="left">/admin/AdminContract.jsp</td>
<td class="left">登录后访问、权限要求管理员</td>
<td class="left">login.jsp</td>
</tr>

<tr>
<td class="left">/admin/AdminUser.jsp</td>
<td class="left">登录后访问、权限要求管理员</td>
<td class="left">login.jsp</td>
</tr>

<tr>
<td class="left">/admin/AdminLog.jsp</td>
<td class="left">登录后访问、权限要求管理员</td>
<td class="left">login.jsp</td>
</tr>

<tr>
<td class="left">/admin/AdminSelf.jsp</td>
<td class="left">登录后访问、权限要求管理员</td>
<td class="left">login.jsp</td>
</tr>

<tr>
<td class="left">/admin/Contract.jsp</td>
<td class="left">不能直接访问</td>
<td class="left">/admin/AdminContract.jsp</td>
</tr>

<tr>
<td class="left">/admin/Log.jsp</td>
<td class="left">不能直接访问</td>
<td class="left">/admin/AdminLog.jsp</td>
</tr>

<tr>
<td class="left">/admin/User.jsp</td>
<td class="left">不能直接访问</td>
<td class="left">/admin/AdminUser.jsp</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div id="outline-container-sec-3-2" class="outline-3">
<h3 id="sec-3-2"><span class="section-number-3">3.2</span> Action权限</h3>
<div class="outline-text-3" id="text-3-2">
</div><div id="outline-container-sec-3-2-1" class="outline-4">
<h4 id="sec-3-2-1"><span class="section-number-4">3.2.1</span> 普通用户</h4>
<div class="outline-text-4" id="text-3-2-1">
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">


<colgroup>
<col  class="left" />

<col  class="left" />

<col  class="left" />
</colgroup>
<tbody>
<tr>
<td class="left">路径</td>
<td class="left">权限</td>
<td class="left">不符合条件</td>
</tr>

<tr>
<td class="left">/user/login</td>
<td class="left">不限制访问</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">/user/logout</td>
<td class="left">不限制访问</td>
<td class="left">&#xa0;</td>
</tr>

<tr>
<td class="left">/user/addContract</td>
<td class="left">要求登录</td>
<td class="left">login.jsp</td>
</tr>

<tr>
<td class="left">/user/addPeriod</td>
<td class="left">要求登录</td>
<td class="left">login.jsp</td>
</tr>

<tr>
<td class="left">/user/getContractByID</td>
<td class="left">要求登录</td>
<td class="left">login.jsp</td>
</tr>

<tr>
<td class="left">/user/getPeriodByCID</td>
<td class="left">要求登录</td>
<td class="left">login.jsp</td>
</tr>

<tr>
<td class="left">/user/addContractByExcel</td>
<td class="left">要求登录</td>
<td class="left">login.jsp</td>
</tr>

<tr>
<td class="left">/user/findContract</td>
<td class="left">要求登录</td>
<td class="left">login.jsp</td>
</tr>

<tr>
<td class="left">/user/updateContract</td>
<td class="left">要求登录</td>
<td class="left">login.jsp</td>
</tr>

<tr>
<td class="left">/user/getSelfInfo</td>
<td class="left">要求登录</td>
<td class="left">login.jsp</td>
</tr>

<tr>
<td class="left">/user/UpdatePass</td>
<td class="left">要求登录</td>
<td class="left">login.jsp</td>
</tr>

<tr>
<td class="left">/file/download</td>
<td class="left">要求登录</td>
<td class="left">login.jsp</td>
</tr>

<tr>
<td class="left">/user/updatePeriod</td>
<td class="left">要求登录</td>
<td class="left">login.jsp</td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="outline-container-sec-3-2-2" class="outline-4">
<h4 id="sec-3-2-2"><span class="section-number-4">3.2.2</span> 管理员</h4>
<div class="outline-text-4" id="text-3-2-2">
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">


<colgroup>
<col  class="left" />

<col  class="left" />

<col  class="left" />
</colgroup>
<tbody>
<tr>
<td class="left">路径</td>
<td class="left">权限</td>
<td class="left">不符合条件</td>
</tr>

<tr>
<td class="left">/admin/addContract</td>
<td class="left">要求登录，权限管理员</td>
<td class="left">login.jsp</td>
</tr>

<tr>
<td class="left">/admin/addPeriod</td>
<td class="left">要求登录，权限管理员</td>
<td class="left">login.jsp</td>
</tr>

<tr>
<td class="left">/admin/getContractByID</td>
<td class="left">要求登录，权限管理员</td>
<td class="left">login.jsp</td>
</tr>

<tr>
<td class="left">/admin/getPeriodByCID</td>
<td class="left">要求登录，权限管理员</td>
<td class="left">login.jsp</td>
</tr>

<tr>
<td class="left">/admin/addContractByExcel</td>
<td class="left">要求登录，权限管理员</td>
<td class="left">login.jsp</td>
</tr>

<tr>
<td class="left">/admin/findContract</td>
<td class="left">要求登录，权限管理员</td>
<td class="left">login.jsp</td>
</tr>

<tr>
<td class="left">/admin/updateContract</td>
<td class="left">要求登录，权限管理员</td>
<td class="left">login.jsp</td>
</tr>

<tr>
<td class="left">/admin/deleteContract</td>
<td class="left">要求登录，权限管理员</td>
<td class="left">login.jsp</td>
</tr>

<tr>
<td class="left">/admin/addUser</td>
<td class="left">要求登录，权限管理员</td>
<td class="left">login.jsp</td>
</tr>

<tr>
<td class="left">/admin/addUserByExcel</td>
<td class="left">要求登录，权限管理员</td>
<td class="left">login.jsp</td>
</tr>

<tr>
<td class="left">/admin/findUser</td>
<td class="left">要求登录，权限管理员</td>
<td class="left">login.jsp</td>
</tr>

<tr>
<td class="left">/admin/getUserInfo</td>
<td class="left">要求登录，权限管理员</td>
<td class="left">login.jsp</td>
</tr>

<tr>
<td class="left">/admin/updateUserInfo</td>
<td class="left">要求登录，权限管理员</td>
<td class="left">login.jsp</td>
</tr>

<tr>
<td class="left">/admin/resetUserPass</td>
<td class="left">要求登录，权限管理员</td>
<td class="left">login.jsp</td>
</tr>

<tr>
<td class="left">/admin/deleteUser</td>
<td class="left">要求登录，权限管理员</td>
<td class="left">login.jsp</td>
</tr>

<tr>
<td class="left">/admin/findLog</td>
<td class="left">要求登录，权限管理员</td>
<td class="left">login.jsp</td>
</tr>

<tr>
<td class="left">/admin/deleteLog</td>
<td class="left">要求登录，权限管理员</td>
<td class="left">login.jsp</td>
</tr>

<tr>
<td class="left">/admin/addAdmin</td>
<td class="left">要求登录，权限管理员</td>
<td class="left">login.jsp</td>
</tr>

<tr>
<td class="left">/admin/getSelfInfo</td>
<td class="left">要求登录，权限管理员</td>
<td class="left">login.jsp</td>
</tr>

<tr>
<td class="left">/admin/UpdatePass</td>
<td class="left">要求登录，权限管理员</td>
<td class="left">login.jsp</td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="outline-container-sec-3-2-3" class="outline-4">
<h4 id="sec-3-2-3"><span class="section-number-4">3.2.3</span> Session</h4>
<div class="outline-text-4" id="text-3-2-3">
<p>
用户ID，用户名称，用户部门ID，用户权限，DepartmentEntity
</p>
</div>
</div>
</div>
</div>
</div>
<div id="postamble" class="status">
<p class="date">Created: 2016-10-26 周三 09:17</p>
<p class="creator"><a href="http://www.gnu.org/software/emacs/">Emacs</a> 24.5.1 (<a href="http://orgmode.org">Org</a> mode 8.2.10)</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>
</html>
